Video signals are inherently highly complex and place substantial resource demands on the transmission medium arranged to transmit such signals—both bandwidth and transmission power. Because bandwidth (and often power, as well) is typically a constrained resource, various techniques have been developed to compress the video signals prior to transmission, and thereby reducing the required transmission bandwidth. These techniques typically first digitize the video signal in order to improve the efficiency of the compression process, as well as other transmission processes including error correction.
A widely used methodology for compression and coding of digital video signals is MPEG-2, as described and codified in ISO 13818-2. Indeed, the MPEG-2 methodology is an integral part of the Advanced Television System standard as adopted by the Advanced Television Systems Committee (ATSC). MPEG-2 is also widely used for transmission and/or recording of NTSC (National Television Standards Committee) based material, particularly cable and satellite transmission and DVD recordings. A newer member of the MPEG family of coding/compression algorithms, designated MPEG-4, offers significantly improved bandwidth compression, but has not yet been adopted for use with ATSC or NTSC television.
In the case where a plurality of substantially non-correlated video signals are transmitted simultaneously via a common transmission medium, such as broadcast television or CATV channels, a further reduction in the required transmission bandwidth can be achieved by use of a technique known as statistical multiplexing. The essential idea of statistical multiplexing (hereafter usually abbreviated as “stat mux”) is to dynamically spread the total transmission bandwidth among the plurality of signals, or channels. For example, at a given time, channel 3 may require a higher number of bits/pixel (due to a complex scene) when channel 5 does not need as many. Therefore, a statistical multiplexer allocates more bits to channel 3 than it does to channel 5 (stealing bits from channel 5). This situation is always changing and therefore the controller for the statistical multiplexer must be designed to react quickly to changes in video complexity on a given channel.
Video complexity is very bursty and stat mux can enable a broadcaster to achieve high quality during the high-complexity video segments on a given channel. Even more valuable, a broadcaster can fit more video channels into the transmission bandwidth. That is, by taking advantage of the average video complexity being low on most channels, extra space is made to increase the number of video channels.
The determination of which channel should receive the most bits is difficult, however, especially in a real time encoding system for broadcast. Most known solutions take a complexity measure from the input video frames on each channel, and then allocate a fixed number of bits for use on the channel over the next group of pictures (normally 12 or 15 video frames) or sometimes on the next picture. Because these systems are not frame synchronized (and even if they were), at any given stat mux allocation time, the type of frames requesting bits is a variable.
A known statistical multiplexing system developed by the assignee of this application, Thomson Consumer Electronics, for a satellite television service, operates in a standard definition MPEG2 system with distributed hardware video encoders. Implementing stat mux on this system is difficult because each MPEG2 video encoder has its own rate control system, and stat mux must be layered on top of it. Bit allocations are at the GOP level only, and no frame level synchronization is possible.